package client;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;

/**
 * Classe permettant de recevoir/afficher les messages envoyer par le serveur
 *
 */
public class ClientEcoute extends Thread {
		/**
		 * Socket de connexion
		 */
        private Socket socket;

        public ClientEcoute(Socket client) {
                this.socket = client;
        }

        @Override
        public void run(){
                BufferedReader br  = null;
                String message= null;

                try {
                        br = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
                       
                        //on sort de la boucle lorsqu'une exception est levee
                        //c'est le serveur qui ferme la connexion, ce qui leve l'exception SocketException
                        while((message=br.readLine()) != null){
                                System.out.println(message);
                        }
                       
                } catch (Exception e) {} //attrape SocketException, leve lorsque le serveur ferme la connexion
                finally {
                        System.err.println("Vous avez ete deconnecte du serveur.");
                        try {
                                br.close();
                        }
                        catch (Exception e) {}
                        System.exit(1); //lorsque le serveur a deconnecte le client, il n'a plus raison de s'executer
                                                        //pour retenter une connexion, il faut le relancer avec le pseudo en parametre
                }
        }
}